A typical computer system includes a cabinet which houses a number of replaceable modules. These modules may include power supplies, fans, mass storage devices, central processing units, and controllers for input-output devices. Repair of the system is usually effected by removing a defective module and replacing it with a correctly functioning module of the same type. In some kinds of systems which incorporate redundant modules, one part of the system can be repaired while the rest of the system is functioning; then the repaired part can be reintegrated without ever shutting down the system.
When modules are replaced, it is essential that the replacement module be of the correct type. If a module of one type is inserted into a site designed for a module of a different type, damage may occur to the module or to the rest of the system.
In many cases, differences in shape between modules preclude insertion of one type of module into a site not designed for it. For example, a disc unit and a power supply typically are of very different shapes and have electrical connectors which are physically incompatible, so it may be impossible to insert one into a slot designed for the other in such a way as to cause damage. On the other hand, other types of modules may be designed to be physically similar for reasons of economy. In particular, electronic modules realized as assemblies of components mounted on printed wiring boards may be designed in a standard form to plug into physically identical slots in a common housing, or card cage. Because the connections to modules of different types may differ, a potential for damage exists if a module can be plugged into a slot not designed for it.
One way of avoiding such damage is to provide mechanical keying on the slots of the card cage. The plug-in modules have complementary keying, designed so that a module can plug only into a slot designed for it. This scheme works well in certain portions of a computer system where a given slot is intended to accept only one type of module. It can also work for portions of the system where slots are designed to accommodate any of several different types of modules. For example, a section of a card cage may contain several slots set aside for modules which control input/output (I/O) devices. The types and numbers of I/O devices may vary from system to system, so the slots in this section may be designed to accommodate any of the controller modules. All I/O controller modules would be keyed alike to prevent their insertion into slots not designed for I/O controllers, and to allow their insertion into any I/O controller slot. Other modules would be keyed to prevent their insertion into the I/O controller slots.
A problem arises if modules in this I/O controller section are paired. In one scheme, for example, each I/O controller comprises two modules: one which contains most of the logic circuitry of the controller, and another which holds specialized interface circuitry and connectors for connection to a device or communication line of a specific type. For clarity, designate the first type of module the LB (for Logic Board) and the second type of module the AB (for Adapter Board). There may be several types of LB, each compatible with several types of AB: however, an AB compatible with a particular LB type is incompatible with all other LB types. The problem is that if an LB and an incompatible AB are plugged into paired slots, damage may result when power is applied to the circuitry on either board.
Further, when connection is made between the boards and power and signal connectors, arcing or power supply voltage drop may cause damage to the boards or loss of data.
Accordingly, a system for preventing powerup when an incompatible board pair is interconnected would be of great utility. Further, it would be useful for the system to prevent arcing and loss of data during interconnection.